package cn.bearspark.tag.provider.dao.co;

import cn.bearspark.common.assess.TimedViewedData;
import cn.bearspark.framework.redis.starter.buffer.hash.un.Cacheable;
import cn.bearspark.framework.redis.starter.buffer.hash.HotData;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 标签的缓存对象
 *
 * @author f
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class TagCO extends TimedViewedData implements Cacheable {

    /**
     * 标签的 id
     */
    private Long tagId;

    /**
     * 标签的浏览量
     */
    @HotData
    private Long viewNum;

    /**
     * 标签的讨论量
     */
    @HotData
    private Long discussNum;

    /**
     * 标签的最热分数，用于最热排序
     */
    @HotData
    private Double topScore;

    /**
     * 标签的最近分数，用于最近排序
     */
    @HotData
    private Double recentScore;

    /**
     * 标签的内容
     */
    private String content;

    /**
     * 标签的创建时间
     */
    private LocalDateTime createTime;

    @Override
    public Long id() {
        return tagId;
    }
}
